home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / stringnode_examples / stringnode_example3.e < prev    next >
Text File  |  1995-11-07  |  1KB  |  57 lines

  1. /*
  2. ** StringNode Example-3
  3. **
  4. ** add(), item(), push() AND pop() methods.
  5. **
  6. ** (C)Copyright 1995 Fabio Rotondo
  7. **
  8. ** e-mail: fosft@intercom.it
  9. */
  10.  
  11. MODULE 'fabio/StringNode_oo'   -> Our MAGIC MODULE
  12.  
  13. PROC main()
  14.   DEF n:PTR TO stringnode      -> This is our OBJECT instance
  15.  
  16.   NEW n.stringnode()           -> OBJECT initialization
  17.  
  18.   n.add('Zorro')              -> Here we add some items...
  19.   n.add('Batman')
  20.   n.add('Superman')
  21.   n.add('Gold Drake')
  22.   n.add('Mandrake')
  23.   n.add('MOMMY')
  24.  
  25.   shwall(n)                   -> Here we see them
  26.  
  27.   n.item(2)                   -> Let's pos us on item 2
  28.   WriteF('Current:\s\n', n.name())
  29.  
  30.   n.push()                    -> Here we memorize our position
  31.  
  32.   n.item(5)                   -> Let's pos us on item 5
  33.   WriteF('Current:\s\n', n.name())
  34.  
  35.   n.pop()                     -> Here we RETURN TO item 2!!!
  36.   WriteF('Current:\s\n', n.name())
  37.  
  38.   n.item(99)                  -> What??!?!?! This item DOES NOT EXISTS!!!
  39.   WriteF('Current:\s\n', n.name())    -> Is it safe enought??
  40.  
  41.  
  42.   END n                       -> Remember ALWAYS TO end an OBJECT
  43. ENDPROC
  44.  
  45. PROC shwall(n:PTR TO stringnode)
  46.   WriteF('------- \d ----------\n', n.numitems())
  47.  
  48.   IF n.first()                      -> Here we go TO the first node item
  49.     REPEAT
  50.       WriteF('Node:\s\n', n.name()) -> Node STRING...
  51.     UNTIL n.succ() = FALSE          -> LOOP UNTIL the end
  52.   ELSE
  53.     WriteF('No Nodes in LIST...\n')
  54.   ENDIF
  55. ENDPROC
  56.  
  57.